Enhanced IRRADU00 record filtering using SMF$XT30/31

Within RA2002 there is an optional feature, called SMF$XT30/31 SMF user exits, to trap any SMF records before they get passed to the IBM user exits IRRADU00/86. An installation has very often the need to go over x-millions of SMF type 80 records. Using the IBM supplied exits to perform such a task will automatically waste terra-bytes of output for nothing, long before a decent report could be generated in the worst case. Just imagine due to an audit in an insurance company you want to check over the last x-years the access to a specific dataset or any other resource. Using the standard IRRADU00 approach will fail due to the huge amount of generated data you do not need in the first place. Why generating data you do not need by wasting resources?


Enhanced filtering of records
//SMFEXTR   EXEC  PGM=IFASMFDP
//STEPLIB   DD DISP=SHR,DSN=RA2002.V3R7M0.LINKLIB
//OUTDD     DD DISP=SHR,DSN=XRZP001.IRRADU00.OUTDDNEW,
//          DCB=(RECFM=VB,LRECL=12288)
//ADUPRINT  DD SYSOUT=*
//SMFDATA1  DD    DSN=XRZP001.SMF.ALS$1003,DISP=OLD
//SMFOUT    DD    DSN=&&SMFFILE,
//          DISP=(,PASS),
//          DCB=(RECFM=VBS,LRECL=32760,BLKSIZE=6240),
//          UNIT=SYSDA,SPACE=(TRK,(1,1))
//SYSPRINT  DD SYSOUT=*
//SYSIN     DD    *
 INDD(SMFDATA1,OPTIONS(DUMP))
 ABEND(NORETRY)
 OUTDD(SMFOUT,TYPE(80))
 USER2(SMF$XT30)
 USER3(SMF$XT31)
/*
//FLTPRINT  DD   SYSOUT=*
//FLTINPUT  DD  *
 +INCLUDE    COND=((0006,1,HX,EQ,50),AND,
 ((0001(0004,H38,H40,I1,0),1,HX,EQ,04),AND,
 (0001(0004,H38,H40,I1,2),01,HX,EQ,80)),AND,
 ((0001(0004,H38,H40,I1,0),1,HX,EQ,01),AND,
 (0001(0004,H38,H40,I1,2),00,CG,EQ,RA**)))
//


Sample output generated by IBM’s IFASMFDP



Sample output generated by SMF$XT30/31


Sample output generated by IBM’s IRRADU00